package com.gushenge.core.dao

import com.gushenge.core.beans.*
import com.gushenge.core.beans.Collection
import retrofit2.Call
import retrofit2.http.*

interface RetrofitDao {

    /*热门搜索*/
    @GET
    fun searchHot(@Url url:String,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Text>>
    /*搜索结果*/
    @GET
    fun search(@Url url:String,@Query("keyword") keyword :String,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Game>>
    /*全部分类*/
    @GET
    fun sort(@Url url:String,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Sort>>
    /*分类查询*/
    @GET
    fun sortGame(@Url url:String,@Query("type")type: Int,@Query("p")p:Int,@Query("member_id") member_id:String,@Query("language") language :String):Call<CodeSort<Game>>

    /*手机号注册获取验证码*/
    @GET
    fun getRegCode(@Url url: String, @Query("phone") phone: String, @Query("type") type: Int,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
   /*地址查询*/
    @GET
    fun selectAddress(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Address>>
    /*个人中心*/
    @GET
    fun userInfo(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<UserInfo>>
    /*修改用户信息*/
    @FormUrlEncoded
    @POST
    fun changeUserInfo(@Url url: String, @Field("uid") uid: String, @Field("t") time: Long, @Field("sign") sign: String, @Field("value") value: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<UserInfo>>

    /*地址删除*/
    @GET
    fun deleteAddress(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("id") id: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Address>>
    /*开服表*/
    @GET
    fun getServer(@Url url: String,@Query("type") type: Int,@Query("p")p: Int,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Server>>
    /*签到查询*/
    @GET
    fun selectSign(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<Sign>>
    /*补签*/
    @GET
    fun reSign(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("date") date: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<String>>
    /*签到*/
    @GET
    fun sign(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*游戏详情页顶部*/
    @GET
    fun gameDetailTop(@Url url: String,@Query("uid")uid: String,@Query("id")gid: String,@Query("member_id")member: String,@Query("language") language :String):Call<Code<Game>>
    /*游戏详情页详情Tab*/
    @GET
    fun gameDetail1(@Url url: String,@Query("id")gid: String, @Query("member_id") member: String):Call<GameBottomDetail>
 /*游戏详情页开服Tab*/
    @GET
    fun gameDetail(@Url url: String,@Query("id")gid: String,@Query("member_id") member_id:String,@Query("language") language :String):Call<Code<GameDetail>>
    /*游戏详情页开服Tab*/
    @GET
    fun gameDetailServer(@Url url: String,@Query("id")gid: String,@Query("p")p: Int,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Server>>
    /*游戏详情页交易Tab*/
    @GET
    fun gameDetailDeal(@Url url: String,@Query("id")gid: String,@Query("p")p: Int,@Query("member_id") member_id:String,@Query("language") language :String):Call<Codes<Deal>>
    /*游戏收藏*/
    @GET
    fun collect(@Url url: String, @Query("uid") uid: String, @Query("id") gid: String, @Query("type") type: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*取消游戏收藏*/
    @GET
    fun collectCancel(@Url url: String, @Query("uid") uid: String, @Query("id") id: String, @Query("type") type: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*领取礼包*/
    @GET
    fun getGift(@Url url: String, @Query("uid") uid: String, @Query("id") gid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*登录*/
    @GET
    fun login(@Url url: String, @Query("user_name") username: String, @Query("passwd") password: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*安全中心*/
    @GET
    fun safety(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<Safety>>

    /*绑定手机号获取验证码*/
    @GET
    fun bindPhoneCode(@Url url: String, @Query("uid") uid: String, @Query("phone") phone: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*绑定手机号*/
    @GET
    fun bindPhone(@Url url: String, @Query("uid") uid: String, @Query("phone") phone: String, @Query("sessionid") sessionid: String, @Query("code") code: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>
    /*修改密码*/
    @GET
    fun changePassword(@Url url: String, @Query("uid") uid: String, @Query("oldpasswd") oldpasswd: String, @Query("passwd") password: String, @Query("repasswd") repasswd: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*绑定手机号获取验证码*/
    @GET
    fun bindEmailCode(@Url url: String, @Query("uid") uid: String, @Query("email") email: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*绑定邮箱*/
    @GET
    fun bindEmail(@Url url: String, @Query("uid") uid: String, @Query("email") email: String, @Query("sessionid") sessionid: String, @Query("code") code: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*游戏排行*/
    @GET
    fun rank(@Url url: String, @Query("t") t: Int, @Query("type") type: Int, @Query("p") p: Int, @Query("member_id") member: String,@Query("language") language :String): Call<Codes<Game>>
    /*任务中心*/
    @GET
    fun getTask(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Task>>
    /*积分明细*/
    @GET
    fun pointDetail(@Url url: String, @Query("uid") uid: String, @Query("type") type: Int, @Query("p") p: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<PointDetail>>
    /*积分商城*/
    @GET
    fun pointsMall(@Url url: String, @Query("uid") uid: String, @Query("type") type: Int, @Query("p") p: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<PointMallBean>>

    /*我的收藏*/
    @GET
    fun myCollect(@Url url: String, @Query("uid") uid: String, @Query("type") type: Int, @Query("p") p: Int, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Collection>>

    /*交易列表*/
    @GET
    fun deal(@Url url: String, @Query("sort") sort: Int, @Query("system") system: Int, @Query("smoney") smoney: String, @Query("emoney") emoney: String, @Query("keyword") keyword: String, @Query("p") p: Int,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Deal>>

    /*小号列表*/
    @GET
    fun small(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Small>>
    /*账号发布*/
    @FormUrlEncoded
    @POST
    fun addDeal(@Url url: String,
                @Field("uid") uid: String,
                @Field("t") time: Long,
                @Field("sign") sign: String,
                @Field("name") title: String,
                @Field("introduction") desc: String,
                @Field("content") content: String,
                @Field("gname") gname: String,
                @Field("sname") sname: String,
                @Field("gid") gid: String,
                @Field("two_passwd") twoPasswd: String,
                @Field("images") images: String,
                @Field("xuid") xuid: String,
                @Field("money") money: String,
                @Field("system") system: Int,@Query("member_id") member_id:String,
                @Field("language") language :String): Call<Code<String>>


    /*我的绑币*/
    @GET
    fun tiedMoney(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<TiedMoney>>

    /*礼包列表*/
    @GET
    fun gift(@Url url: String, @Query("p") p: Int, @Query("keyword") keyword: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<GiftList>>

    /*我的礼包*/
    @GET
    fun myGift(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Gift>>

    /*交易动态*/
    @GET
    fun dealDynamic(@Url url: String, @Query("p") p: Int,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Deal>>

    /*我的交易*/
    @GET
    fun myDeal(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("type") type: Int, @Query("p") p: Int,@Query("member_id") member_id:String,@Query("language") language :String): Call<Codes<Deal>>

    /*交易信息删除*/
    @GET
    fun dealDelete(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("id") id: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*交易支付*/
    @GET
    fun dealSettle(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("type") type: Int, @Query("goods_id") goods_id: String, @Query("money") money: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<Deal>>

    /*订单查询*/
    @GET
    fun dealOrderSelect(@Url url: String, @Query("uid") uid: String, @Query("oid") oid: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*交易账号详情*/
    @GET
    fun dealProductDetail(@Url url: String, @Query("uid") uid: String, @Query("id") oid: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<DealProductDetail>>

    /*邮箱获取验证码*/
    @GET
    fun emaiLCode(@Url url: String, @Query("email") email: String, @Query("type") type: Int,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*解绑手机*/
    @GET
    fun unbindPhone(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("phone") phone: String, @Query("code") code: String, @Query("sessionid") sessionid: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    /*解绑邮箱*/
    @GET
    fun unbindEmail(@Url url: String, @Query("uid") uid: String, @Query("t") time: Long, @Query("sign") sign: String, @Query("email") phone: String, @Query("code") code: String, @Query("sessionid") sessionid: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>


    /*QQ微信登录*/
    @GET
    fun loginByQQWx(@Url url: String, @Query("openid") openid: String, @Query("type") type: String, @Query("member_id") memeber: String,@Query("language") language :String): Call<Code<String>>

    /*找回密码*/
    @GET
    fun retrievePassword(@Url url: String, @Query("phone") phone: String?, @Query("email") email: String?, @Query("code") code: String, @Query("sessionid") sessionid: String, @Query("passwd") password: String,@Query("member_id") member_id:String,@Query("language") language :String): Call<Code<String>>

    @GET
    fun ceshi(@Url url:String):Call<String>


}

